package com.my.controller;


import com.alibaba.fastjson.JSONObject;
import com.my.bean.*;
import com.my.service.OrderVipService;
import com.my.service.TrVipService;
import com.my.util.SessionUtil;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;
import javax.xml.crypto.dsig.TransformService;
import java.util.*;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author 冯政尚
 * @since 2018-09-14
 */
@Controller
@RequestMapping("/trVip")
public class TrVipController {

    //注入
    @Autowired
    TrVipService trVipService;
    //创建日志Logger对象
    Logger logger  = Logger.getLogger(OrderVipController.class);


    /**
     * 添加订单
     * @param param
     * @return
     */
    @RequestMapping("/insertTrVip")
    @ResponseBody
    public String insertTrVip(String param,HttpSession session){
        TrVip trVip = JSONObject.parseObject(param,TrVip.class);
        //数据库创建时间字段,使用倒叙排序
        trVip.setCreateTime(new Date().getTime());
        trVip.setOrderStatus(2);
        Long areaid=((User)session.getAttribute("user")).getAreaId();
        trVip.setAreaid(areaid);
        return trVipService.selectByHomeId(trVip);

    }


    /**
     * 查询所有的订单
     * @param lin
     * @param data
     * @param voPage
     * @return
     */
    @RequestMapping("/selectTrVip")
    @ResponseBody
    public ResultPage<TrVip> selectVip(String lin, String data, VoPage voPage, HttpSession session){
        boolean admin=false;
        //如果事超级管理员  即可查看所有的房间  判断是否为超级管理员
        if(SessionUtil.getSessionUser(session).getRoles().getRoleValue().equals("9f77d5a8-75c6-4d06-adf9-a37e727d491a")){
            admin=true;
        }
        Map map = new HashMap();
        map.put("lin",lin);
        map.put("data",data);
        Long areaid=((User)session.getAttribute("user")).getAreaId();
        ResultPage<TrVip> list = trVipService.selectMyPage(map,voPage,areaid,admin);
        logger.info("list:"+list);
        logger.info("查询成功");
        return list;
    }


    /**
     * 修改订单
     * @param trVip
     * @return
     */
    @RequestMapping("/updateTrVip")
    @ResponseBody
    public String updateTrVip(TrVip trVip){
        List<TrVip> list = new ArrayList<>();
        list.add(trVip);
        if(trVipService.updateBatchById(list)){
            return "修改成功";
        }else{
            return "修改失败";
        }
    }


    /**
     * 修改 更根据id修改状态
     * @param id
     * @return
     */
    @RequestMapping("/update")
    @ResponseBody
    public String update(Long id){
        return trVipService.updateTrState(id);
    }


    /**
     * 删除订单
     * @param id
     * @return
     */
    @RequestMapping("/deleteTrVip")
    @ResponseBody
    public boolean deleteTrVip(Long id){
        return trVipService.deleteById(id);
    }


    /**
     * 返回订单页面
     * @return
     */
    @RequestMapping("/trVip")
    public String trVip(){
        return "trVip";
    }


    /**
     * 返回订单的添加页面
     * @return
     */
    @RequestMapping("/trVip_add")
    public String trVipAdd(){
        return  "/Alert/trVip_add";
    }







	
}
